Roundoff-level mods of prep_glc_map_lnd2glc#633
Conversation
This cast to real shouldn't be done since we are assigning an r8 to an r8.
The point of this is to make some minimal changes needed to get bit-for-bit results with an upcoming refactor, in which the elevation factors will be computed separately.
|
Reassigning this to @Katetc as reviewer (rather than @mvertens ) because I just went through it with her (and I don't think this needs multiple reviews). @Katetc - here are some cases if you want to look more closely at the differences: /glade/derecho/scratch/sacks/ERS_Ly7.f09_g17_gris4.T1850Gg.derecho_intel.GC.20260223_065655_ox3af6 /glade/derecho/scratch/sacks/SMS_D_Ly1.f09_g17_ais8.T1850Ga.derecho_gnu.GC.20260223_065655_ox3af6 I compared against baselines in /glade/campaign/cesm/cesmdata/cesm_baselines/cesm3_0_alpha08e |
|
Welll, it is interesting to look at where the results changed here. The smb saw almost no difference, but temperatures outside of the icesheet and along the margins had some pretty random noise introduced. This does seem to have some impact on thickness and velocity after a few years, but the differences are small. I'm going to tag @whlipscomb here just so that he is aware. I think the tag can go ahead. |
|
Thanks very much for your careful look, @Katetc ! |
|
Oh, I just realized that the bigger potential changes in this PR – the removal of the cast from r8 to r4 real – only apply in bare land regions, so it makes sense that you're seeing big differences outside of the ice sheet. I'd be curious what you see if you change the scale so smaller diffs (e.g., order 1e-13) show up: I expect double-precision-roundoff-level diffs everywhere in addition to the single-precision-roundoff-level diffs outside the ice sheet. |
Using strategy 'ours' to ignore changes coming from main (which are from ESCOMP#633) because they are already incorporated into this branch.


Description of changes
Two roundoff-level modifications of prep_glc_map_lnd2glc to pave the way for a larger set of changes. I wanted to demonstrate that the larger set of changes is bit-for-bit, so here I have implemented the minimal set of answer-changing mods needed to get bit-for-bit results when running tests on my upcoming PR.
Specific notes
Contributors other than yourself, if any:
CMEPS Issues Fixed (include github issue #):
Are changes expected to change answers? (specify if bfb, different at roundoff, more substantial) - Single-precision-roundoff-level changes in configurations with CISM or DGLC (though diffs only show up in a small number of tests with DGLC)
Any User Interface Changes (namelist or namelist defaults changes)? No
Testing performed
In the context of cesm3_0_alpha08e, ran aux_glc plus these additional tests:
Tests passed (other than
FAIL NCK_Ly3.f09_g17_gris20.T1850Gg.derecho_gnu COMPARE_base_multiinstwhich is documented as failing in the CISM ChangeLog). I didn't perform baseline comparisons for most tests, but I expect baseline comparisons to fail for most / all of these tests.I did look at baseline comparisons for
ERS_Ly7.f09_g17_gris4.T1850Gg.derecho_intelandSMS_D_Ly1.f09_g17_ais8.T1850Ga.derecho_gnu. Looking at the cpl hist files, these had just single-precision-roundoff-level diffs, as expected. ForERS_Ly7.f09_g17_gris4.T1850Gg.derecho_intel, for example, these were:Based on testing on my upcoming branch - which effectively includes these changes (along with many other changes) - differences only show up in:
ERS_Ld5.ne30pg3_t232.B1850C_LTso.derecho_intel.allactive-decstartandERS_Ld5.ne30pg3_t232.BHISTC_LTso.derecho_intel.allactive-decstart)